The present invention is directed to the field of power driven wheelchairs, in general, and more particularly, to a method and apparatus for embedding motor error parameter data in a drive motor of a power driven wheelchair.
Power driven wheelchairs which may be of the type manufactured by Invacare Corporation of Elyria, Ohio, for example, generally include right and left side drive wheels driven by a motor controller via respectively corresponding right and left side drive motors, all of which being disposed on the wheelchair. An exemplary illustration of such a motor drive arrangement is shown in the schematic of FIG. 1. Referring to FIG. 1, a motor drive controller 10 which may be an Invacare MK IV™ controller, for example, controls drive motors 12 and 14 which are mechanically linked respectively to the right side and left side drive wheels of the wheelchair. A user interface 16 which may include a joystick 18 and selection switches (not shown) operable by a user is also disposed on the wheelchair in a convenient location to the user. The user interface 16 is generally interfaced to the controller 10 over a two wire serial coupling 20 to permit the user to select a drive program appropriate for operating the wheelchair in its environment and to adjust the direction and speed of the wheelchair within the selected drive program. The controller 10 may be programmed with a plurality of drive programs, each suited for a particular operating environment.
The motor controller 10 is generally powered by a battery source 22, which may be 24 volts, for example, also disposed on the wheelchair. The drive motors 12 and 14 may be of the permanent magnet type like a gearless, brushless AC motor, for example. The controller 10 may include a microcontroller interfaced and responsive to the user interface 16 to control drive signals 24 and 26 to motors 12 and 14, respectively, via a power switching arrangement configured in accordance with the motor type being driven. The power switching arrangement may be powered by the 24V battery 22. Thus, as the user adjusts the speed and direction of the wheelchair via the joystick of interface 16, appropriate drive signals 24 and 26 are controlled by controller 10 to drive the motors 12 and 14 accordingly. Controller 10 generally controls motor speed to the user setting in a closed loop manner.
Actual speed of each motor 12 and 14 is derived from signals 28 and 30 respectively sensed therefrom. For example, for AC drive motors, a Hall Effect sensor combination may be disposed at the motor for sensing and generating signals 28 and 30 representative of angular position which are read by the controller 10. The controller 10 may derive motor speed from the sensor signals 28 and 30 based on a change in angular position, and use the derived motor speed as the actual speed feedback signal for the closed loop speed control of the motor.
For safety purposes, it is preferred that the motors of the wheelchair drive the corresponding wheels of the wheel chair in a smooth fashion. To achieve this smooth motor drive, the rotor and stator of the motor should be manufactured to precise tolerances. In other words, there should be a precise relationship between the magnets positioned uniformly around the rotor assembly and the field coils (normally 3-phase) disposed about the stator assembly so that when the magnetic fields of the stator are energized and caused to rotate in phase, they force the magnets of the rotor to follow in a smooth and uniform manner, i.e. without jerky or interrupted movement. However, mounting of the rotor and stator components in a precise orientation to each other may not always be accomplished. While the motor components may be within their desired manufacturing tolerance, the orientation of such motor components during assembly of one motor to another may not be of the exact same dimensions which leads to variability of component orientation.
In addition, as noted above, closed loop motor speed control of the wheelchair utilizes a motor speed feedback signal generally derived from a set of sensors disposed within the motor assembly for providing signals commensurate with the angular position of the rotor with respect to the stator. However, one set of sensors may measure angular position of the motor slightly different from another set. Thus, the sensitivity of sensor measurements becomes a factor in driving the motor smoothly. Accordingly, each motor assembly will have its own set of error parameters. To achieve the smooth motor drive in present powered wheelchairs, the motor controller determines the error parameters of each motor assembly, generally through a calibration process, and automatically compensates for these error parameters in a motor control algorithm of the controller 10.
To better understand the present calibration procedure, reference is made to FIG. 1 and the block diagram schematic of an exemplary closed loop motor controller depicted in FIG. 2. Controller 10 may include a microcontroller 40 (shown within dashed lines) including a microprocessor programmed with operational algorithms for controlling the AC GB drive motor 12, 14, and an analog-to-digital converter (A/D) 42. The motor 12, 14 may be a three phase motor of the type in which the three field coils thereof are wye connected as shown. Each field coil is driven by a corresponding drive amplifier 44, 46 and 48 powered by the voltage of battery 22. As noted above, the angular position of the rotor may be measured by two Hall Effect sensors 50 and 52 in conjunction with a ring magnet which generate in response to movement of the rotor near sinusoidal signals which are 90° apart (i.e. sine and cosine signals) representative of the angular position of the rotor. The generated signals from sensors 50 and 52 are provided to inputs of the A/D 42 over signal lines 54 and 56, respectively. The A/D 42 digitizes the sensor signals at a sampling rate on the order of 100 Hz, for example.
The microprocessor of the microcontroller 40 is programmed with control algorithms functionally depicted in FIG. 2 by blocks. For example, block 58 performs the function of receiving the digitized sensor signals and converting them into an angular position and motor speed which is conveyed to a summation block 60. A speed demand signal may be input to the controller from the user interface 16, for example, and applied to another input of the summation block 60 which subtracts the motor speed signal from the speed demand signal to arrive at an error signal ε. A motor control algorithm 62 is governed by the speed error to cause each of three pulse width modulator algorithms 64, 66, and 68 to generate a pulsed width modulated signal to a corresponding amplifier 44, 46 and 48, respectively. The amplifiers 44, 46 and 48 in turn generate voltage signals V1, V2 and V3, respectively, which cause the corresponding field coils of the drive motor 12, 14 to rotate a magnetic field in proper phase about the stator to force the rotor to follow.
Currently, after the wheelchair is assembled during manufacture, the aforementioned motor error parameters are determined individually for each drive motor of the wheelchair by the calibration process which entails lifting the wheels of the wheelchair off the ground. The calibration procedure may be initiated through a remote programmer 70 which may be electrically coupled to a port of the microcontroller 40 of controller 10 via signal lines 72, for example. The calibration procedure may be menu selected via an interactive display 74 of the programmer 70 by operation of input pushbuttons 76 thereof. Once selected, the programmer 70 sends a signal over lines 72 to the microcontroller 40 to execute a calibration algorithm 80 programmed therein.
During execution of the calibration algorithm 80, the summation block 60 is functionally disconnected and the motor is automatically driven open loop via motor control algorithm 62 by an error signal 82 generated by the algorithm 80 in accordance with predetermined drive patterns. During the calibration procedure, a feedback speed signal 84 is monitored by the calibration algorithm 80 to determine certain motor error parameters, such as angular error in the orientation between the sensors 50 and 52 (should be precisely 90°), the amplitude variation of each sensor to the magnetic field, and the distortion parameter for each sensor which is related to the deviation of the sensor signal from a sine wave, for example.
Once the motor error parameters are determined for each motor 12 and 14 of the wheelchair, data representative thereof are stored in a non-volatile memory 86, which may be an electrically erasable programmable read only memory (EEPROM), for example. Thereafter, each time the motor control algorithm 62 is executed, it uses the motor error parameter data stored in the EEPROM 86 for a smooth control of the drive motors 12 and 14. However, the stored motor error parameter data are unique to the present motors and sensors of the wheelchair, and the particular assembly thereof. Thus, each time a service problem is encountered in the field involving replacement of a motor assembly unit, the calibration procedure has to be repeated which includes maintaining the wheels of the wheelchair off the ground through use of blocks or other onerous techniques.
Understandably, having to repeat the calibration procedure in the field to re-determine the motor error parameters each time a motor assembly is replaced is a very timely and costly operation which needs improvement. The present invention is intended to address the timeliness and cost of the current motor error parameter setting technique and provide a method and apparatus which overcomes the drawbacks thereof.